home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Guided Tour of Multimedia (Second Edition)
/
The Guided Tour of Multimedia (Second Edition).iso
/
trials
/
qtw111
/
samples
/
eachmov.bas
< prev
next >
Wrap
BASIC Source File
|
1993-03-15
|
3KB
|
113 lines
' Require that all variables be declared
Option Explicit
' Style flag used by the Show Method
Global Const MODELESS = 0
Global Const MODAL = 1
' Global data
Global BorderWidth As Integer ' Width of frmEachMov border
Global BorderHeight As Integer ' Height of frmEachMov border
Global MovieCount As Integer ' Count of movies in MoviePath
Global MovieNum As Integer ' Current movie number
Global MoviePath As String ' Path containing the movies
Global MovieName() As String ' Movie name array
Sub Main ()
' Calculate the frame border width and height
BorderWidth = frmEachMov.Width - frmEachMov.ScaleWidth
BorderHeight = frmEachMov.Height - frmEachMov.ScaleHeight
' Load the directory form
frmEachMovDir.Show MODAL
' Load the movie form; start playing the movies
Load frmEachMov
StartTheMovies
End Sub
Sub PlayMovie ()
' Frame coordinate data
Dim formLeft As Long, formTop As Long
Dim formWidth As Long, formHeight As Long
' If the movie number exceeds the array limit, we're done
If MovieNum >= MovieCount Then End
' Hide the movie form so we can adjust its size and location
frmEachMov.Hide
' Set the movie name from the array
frmEachMov!QTMovie1.MovieName = MoviePath + "\" + MovieName(MovieNum)
' Suppress the movie controller
frmEachMov!QTMovie1.Visible = False
' Calculate the frame dimensions to exactly fit the movie
formWidth = frmEachMov!QTMovie1.Width + BorderWidth
If formWidth > Screen.Width Then formWidth = Screen.Width
formHeight = frmEachMov!QTMovie1.Height + BorderHeight
If formHeight > Screen.Height Then formHeight = Screen.Height
' Calculate the frame position at screen center
formLeft = (Screen.Width - formWidth) / 2
If formLeft < 0 Then formLeft = 0
formTop = (Screen.Height - formHeight) / 2
If formTop < 0 Then formTop = 0
' Move the frame
frmEachMov.Move formLeft, formTop, formWidth, formHeight
' Show the movie frame
frmEachMov.Show MODELESS
End Sub
Sub StartTheMovies ()
Dim FileName As String ' Current movie file name
' Initialize the movie count data
MovieCount = 0
MovieNum = 0
' Find the first movie in the movie path
FileName = Dir$(MoviePath + "\*.mov")
' Loop through the path to get a count of the movies
While (FileName <> "")
MovieCount = MovieCount + 1
FileName = Dir$
Wend
' Let the user know if there's no movies in this directory,
' then end the program
If MovieCount = 0 Then
MsgBox "There are no movies in directory " + MoviePath, 0, "EachMov"
End
End If
' Dimension the MovieName array depending on the number
' of movies in the path
ReDim MovieName(MovieCount) As String
' One more time, get the first movie in the path
FileName = Dir$(MoviePath + "\*.mov")
' Load the MovieName array with all the movie names
While (FileName <> "")
MovieName(MovieNum) = FileName
MovieNum = MovieNum + 1
FileName = Dir$
Wend
' Go to the first movie and play it
MovieNum = 0
' Set the timer interval to start the next movie
frmEachMov!tmrMovie.Interval = 1
End Sub